{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Modeling and Simulation in Python\n",
    "\n",
    "Chapter 6\n",
    "\n",
    "Copyright 2017 Allen Downey\n",
    "\n",
    "License: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Configure Jupyter so figures appear in the notebook\n",
    "%matplotlib inline\n",
    "\n",
    "# Configure Jupyter to display the assigned value after an assignment\n",
    "%config InteractiveShell.ast_node_interactivity='last_expr_or_assign'\n",
    "\n",
    "# import functions from the modsim.py module\n",
    "from modsim import *\n",
    "\n",
    "from pandas import read_html"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Code from the previous chapter\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "filename = 'data/World_population_estimates.html'\n",
    "tables = read_html(filename, header=0, index_col=0, decimal='M')\n",
    "table2 = tables[2]\n",
    "table2.columns = ['census', 'prb', 'un', 'maddison', \n",
    "                  'hyde', 'tanton', 'biraben', 'mj', \n",
    "                  'thomlinson', 'durand', 'clark']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Year\n",
       "1950    2.525149\n",
       "1951    2.572851\n",
       "1952    2.619292\n",
       "1953    2.665865\n",
       "1954    2.713172\n",
       "Name: un, dtype: float64"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "un = table2.un / 1e9\n",
    "un.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Year\n",
       "1950    2.557629\n",
       "1951    2.594940\n",
       "1952    2.636772\n",
       "1953    2.682053\n",
       "1954    2.730228\n",
       "Name: census, dtype: float64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "census = table2.census / 1e9\n",
    "census.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.07224800083333333"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t_0 = get_first_label(census)\n",
    "t_end = get_last_label(census)\n",
    "elapsed_time = t_end - t_0\n",
    "\n",
    "p_0 = get_first_value(census)\n",
    "p_end = get_last_value(census)\n",
    "total_growth = p_end - p_0\n",
    "\n",
    "annual_growth = total_growth / elapsed_time"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### System objects"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can rewrite the code from the previous chapter using system objects."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>t_0</th>\n",
       "      <td>1950.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>t_end</th>\n",
       "      <td>2016.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>p_0</th>\n",
       "      <td>2.557629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>annual_growth</th>\n",
       "      <td>0.072248</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "t_0              1950.000000\n",
       "t_end            2016.000000\n",
       "p_0                 2.557629\n",
       "annual_growth       0.072248\n",
       "dtype: float64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "system = System(t_0=t_0, \n",
    "                t_end=t_end,\n",
    "                p_0=p_0,\n",
    "                annual_growth=annual_growth)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And we can encapsulate the code that runs the model in a function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def run_simulation1(system):\n",
    "    \"\"\"Runs the constant growth model.\n",
    "    \n",
    "    system: System object\n",
    "    \n",
    "    returns: TimeSeries\n",
    "    \"\"\"\n",
    "    results = TimeSeries()\n",
    "    results[system.t_0] = system.p_0\n",
    "    \n",
    "    for t in linrange(system.t_0, system.t_end):\n",
    "        results[t+1] = results[t] + system.annual_growth\n",
    "    \n",
    "    return results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also encapsulate the code that plots the results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_results(census, un, timeseries, title):\n",
    "    \"\"\"Plot the estimates and the model.\n",
    "    \n",
    "    census: TimeSeries of population estimates\n",
    "    un: TimeSeries of population estimates\n",
    "    timeseries: TimeSeries of simulation results\n",
    "    title: string\n",
    "    \"\"\"\n",
    "    plot(census, ':', label='US Census')\n",
    "    plot(un, '--', label='UN DESA')\n",
    "    plot(timeseries, color='gray', label='model')\n",
    "    \n",
    "    decorate(xlabel='Year', \n",
    "             ylabel='World population (billion)',\n",
    "             title=title)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's how we run it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "results = run_simulation1(system)\n",
    "plot_results(census, un, results, 'Constant growth model')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Proportional growth"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's a more realistic model where the number of births and deaths is proportional to the current population."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def run_simulation2(system):\n",
    "    \"\"\"Run a model with proportional birth and death.\n",
    "    \n",
    "    system: System object\n",
    "    \n",
    "    returns: TimeSeries\n",
    "    \"\"\"\n",
    "    results = TimeSeries()\n",
    "    results[system.t_0] = system.p_0\n",
    "    \n",
    "    for t in linrange(system.t_0, system.t_end):\n",
    "        births = system.birth_rate * results[t]\n",
    "        deaths = system.death_rate * results[t]\n",
    "        results[t+1] = results[t] + births - deaths\n",
    "        \n",
    "    return results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I picked a death rate that seemed reasonable and then adjusted the birth rate to fit the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "system.death_rate = 0.01\n",
    "system.birth_rate = 0.027"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's what it looks like."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saving figure to file figs/chap06-fig01.pdf\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "results = run_simulation2(system)\n",
    "plot_results(census, un, results, 'Proportional model')\n",
    "savefig('figs/chap06-fig01.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The model fits the data pretty well for the first 20 years, but not so well after that."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Factoring out the update function"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`run_simulation1` and `run_simulation2` are nearly identical except the body of the loop.  So we can factor that part out into a function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def update_func1(pop, t, system):\n",
    "    \"\"\"Compute the population next year.\n",
    "    \n",
    "    pop: current population\n",
    "    t: current year\n",
    "    system: system object containing parameters of the model\n",
    "    \n",
    "    returns: population next year\n",
    "    \"\"\"\n",
    "    births = system.birth_rate * pop\n",
    "    deaths = system.death_rate * pop\n",
    "    return pop + births - deaths"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The name `update_func` refers to a function object."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<function __main__.update_func1(pop, t, system)>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "update_func1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Which we can confirm by checking its type."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "function"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(update_func1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`run_simulation` takes the update function as a parameter and calls it just like any other function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def run_simulation(system, update_func):\n",
    "    \"\"\"Simulate the system using any update function.\n",
    "    \n",
    "    system: System object\n",
    "    update_func: function that computes the population next year\n",
    "    \n",
    "    returns: TimeSeries\n",
    "    \"\"\"\n",
    "    results = TimeSeries()\n",
    "    results[system.t_0] = system.p_0\n",
    "    \n",
    "    for t in linrange(system.t_0, system.t_end):\n",
    "        results[t+1] = update_func(results[t], t, system)\n",
    "        \n",
    "    return results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's how we use it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>t_0</th>\n",
       "      <td>1950.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>t_end</th>\n",
       "      <td>2016.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>p_0</th>\n",
       "      <td>2.557629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>birth_rate</th>\n",
       "      <td>0.027000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>death_rate</th>\n",
       "      <td>0.010000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "t_0           1950.000000\n",
       "t_end         2016.000000\n",
       "p_0              2.557629\n",
       "birth_rate       0.027000\n",
       "death_rate       0.010000\n",
       "dtype: float64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t_0 = get_first_label(census)\n",
    "t_end = get_last_label(census)\n",
    "p_0 = census[t_0]\n",
    "\n",
    "system = System(t_0=t_0, \n",
    "                t_end=t_end,\n",
    "                p_0=p_0,\n",
    "                birth_rate=0.027,\n",
    "                death_rate=0.01)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "results = run_simulation(system, update_func1)\n",
    "plot_results(census, un, results, 'Proportional model, factored')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Remember not to put parentheses after `update_func1`.  What happens if you try?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise:** When you run `run_simulation`, it runs `update_func1` once for each year between `t_0` and `t_end`.  To see that for yourself, add a print statement at the beginning of `update_func1` that prints the values of `t` and `pop`, then run `run_simulation` again."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Combining birth and death"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since births and deaths get added up, we don't have to compute them separately.  We can combine the birth and death rates into a single net growth rate."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def update_func2(pop, t, system):\n",
    "    \"\"\"Compute the population next year.\n",
    "    \n",
    "    pop: current population\n",
    "    t: current year\n",
    "    system: system object containing parameters of the model\n",
    "    \n",
    "    returns: population next year\n",
    "    \"\"\"\n",
    "    net_growth = system.alpha  * pop\n",
    "    return pop + net_growth"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's how it works:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "system.alpha = system.birth_rate - system.death_rate\n",
    "\n",
    "results = run_simulation(system, update_func2)\n",
    "plot_results(census, un, results, 'Proportional model, combined birth and death')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercises\n",
    "\n",
    "**Exercise:** Maybe the reason the proportional model doesn't work very well is that the growth rate, `alpha`, is changing over time.  So let's try a model with different growth rates before and after 1980 (as an arbitrary choice).\n",
    "\n",
    "Write an update function that takes `pop`, `t`, and `system` as parameters.  The system object, `system`, should contain two parameters: the growth rate before 1980, `alpha1`, and the growth rate after 1980, `alpha2`.  It should use `t` to determine which growth rate to use.  Note: Don't forget the `return` statement.\n",
    "\n",
    "Test your function by calling it directly, then pass it to `run_simulation`.  Plot the results.  Adjust the parameters `alpha1` and `alpha2` to fit the data as well as you can.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "# Solution\n",
    "\n",
    "def update_func3(pop, t, system):\n",
    "    \"\"\"Compute the population next year.\n",
    "    \n",
    "    pop: current population\n",
    "    t: current year\n",
    "    system: system object containing parameters of the model\n",
    "    \n",
    "    returns: population next year\n",
    "    \"\"\"\n",
    "    if t < 1980:\n",
    "        net_growth = system.alpha1 * pop\n",
    "    else:\n",
    "        net_growth = system.alpha2 * pop\n",
    "    return pop + net_growth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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14ZBgQn429Mvm85ud2B3yHNQN5zIyEi+//57br75ZubMmcPtt99Oly5dmDZtWqEn96SkJIKDg7HZbMUud+7cuTz55JPUr18fPz8/nn32WbZu3crx48cBsFgsjB07FpvNRteuXalRowaxsbH4+Pjg7e3NvHnz2LNnD7fffjs//fQTFoul2PVd7XxCCM84deoUM2bM4MCBA/j6+nL74H40P7qIrMPbSfzpk8um/XqZZsWW2DKNp9K24lv49ojfDXvpkc6/GzYwuiEDoxteNiwsuEqh87/3157XHJePjw+5ubm/G2632/H19c3/u0GDBjz//POAkYCWLVvGG2+8QUhICKNGjbps3ho1apCcnExOTs7vklRaWhq+vr74+PgQHx/PxIkTeemll/LHe3t7c+rUKby9vQkICLgsBpvNhsPhICAggNmzZzNjxgweeOAB/Pz8ePDBBxkzZkyx21rcfJKkhCg/nE4nmzdvZvny5TgcDiIiIrjjjjsIqRbM6QNLsYWEU2PYn3E6nfnH7uAujXjnq+3079SgzI7nSpugyqtatWoRHx9Py5Yt84fl5uYSHx+f31vwvffeS//+/XnooYcACA0NZdSoUezZswet9e+W2bZtW/z8/Fi7di19+/a9bNybb75JbGwss2fPpmbNmrz00kt069Ytf/zBgwdp2LAhv/zyS5Exp6Sk5Ndf5eTksGHDBp566ik6dOiAl5cXOTk5+dM6nU5SUlKuOF/BeishhGdkZGTwww8/5J9botq3p0+PLvgGhgAQfscEspzefLXmKLGnD/LCHztisVgIDfLj1TG3lunFphTxXWdDhgxhypQpHDlyBIDk5GQmT55MjRo1aNWqFQCDBg1i+vTprFixguzsbLKzs9m8eTNr166lT58+v1umj48P48eP56WXXmLlypXk5uZy6dIlZs2axffff8+4ceMAGDlyJB9++CGnT5/Gbrfz0Ucfcd9995GZmVlszElJSTzyyCNs2bIFm81GeHg4FouF4OBg6tevT3Z2NosXL8ZutzN79mzS09OvOJ8QwvNOnjzJjBkz0Frj6+vLiG7tueXEEpIWfoDTYXRw61UlgByHhcUbj7Pl1zMcOZWSP39Zl4TIHdR1Nm7cOLy8vBgzZgyJiYn4+vrSuXNnPvvss/ziufvvvx8/Pz+mTp3KhAkTcDqd3HTTTbz00kt07dq10OXefffdBAYGMmPGDJ577jmcTifNmzdn5syZREVFAfD444+Tm5vLfffdR3JyMk2bNmXmzJkEBQUVG3OjRo2YNGkSL774IgkJCYSEhPDCCy8QGRkJwAsvvMCbb77JP/7xD0aMGEG7du3cmk8I4RkFH7yNCK9Jz8BkvH+eRS5g8bZx9PBJGkcaxXfBAb48dWcbqlfzo0ndatctTktFaFGllGoIHFu5ciV169b1dDhCCFFhXbx4ke+//z6/FKdNvTBaJGzAas/G4uNHSLe7mXuqHgs3nmDC/R3o1qZOmcYTFxeXVzLUSGt93HWc3EEJIcQN4ujRo3z33Xekp6fj7+9PF78Eap3eDUDV5l0I6/Mg3kFh1P/5OD7ecSSnZXk0XklQQghRydntdtasWcP69esBaNiwIbfddhv2nUu5+GsWcY1H4AhvRnhQGAD9OjWg/c3h1Aip4smwJUEJIURlduHCBebPn8+pU6ewANHNG9HnD6OxWq04b72NQyG38s/PthMSuJt2N9ekiq83XlaLx5MTXMcEpZS6D5hRYHAVYKXWuv/1ikMIIW4Ue/bsYdGiRWRnZ1PVaqeL5RgRccfJzboDnyr+WLxtdGhRh863nKJTiwh8bV6eDvky1y1Baa2/BL7M+1sp1RZYBjx7vWIQQogbQVZWFkuWLGHXrl0A1Lck09lyiqqhNdlXcwCvvr2e//ytJwH+PlitFiY+3MnDERfOrQSllPIC2gMdgJqAHTgDbNVa7yxu3iKWZ8NIVi9rrXeVdH4hhBCFi4+PZ/78+SQlJeGFgw7WeJraLhLS9S6COw1n2sdbSLiQyMY9p+nfqew6GywNxSYopVQI8GfgCSAMOAokAl5AdaCBUuo0MB34UGvt7ltUxwEZwNSrjFsIIYQLh8PBxo0bWb16NQ6HgxDvXLo6jxBcvxnV+jxESJ16APzptlakpGfRqkkNzwbshiITlFLqAeAVYCXwCLBCa51VYJogoBtwH7BXKTVRaz27uBUqpXwwivX+pLUu/w9hCSFEOZeamsp3874l9mQcAB07dqTrzXXZsSuWl9fbGeCfxLg7jATVIKL4B/PLk+LuoKKAKK31uaIm0FqnAv8D/qeUigAmAsUmKGAg4DDnE0IIcQ1+3bePH39YQFaOnSreFm676578t7U09m+IbdNaqvh6X/ai14qiyHfxaa2fKi45FTL9aa31k25MOgKYq7V2uLvsysSdLt8/+OADWrVqxeHDhy+bprDOAfN89913NGvWjLZt29K2bVtat27NoEGDmDlz5mVddPTu3ZtWrVrlT5f3b8CAAfnTxMbGMm7cOKKiomjbti1Dhw7lv//9b6HrHTx4MN27d7/shbFCiLKXnZ3Ngq+/4Nt588jKsVPbkkq/sBx+PvjbuzXrhQcy68X+/HFYiwqXnKAErfiUUjWBVoANuGxLtdaLS7DOzsCLJZj+hpSVlcX48eOZO3cuPj4+bs3TtGlTfvjB6KTR6XTyyy+/MH78eFJTUy/rmPCdd9753VvP8zgcDh577DGGDh3KW2+9hZ+fHzt37mTcuHH4+Phw11135U+b9xLYGjVqsGzZMoYMGXINWyyEcNeJwweYP+9bUrMcWHEQ5Z9G694jGDsnhdxDR7m1VT2a1DPemRdU1b3zR3nkbiu+RzAaNBTWI54To9GEuxoC8SWY/oYUHR1NfHw87733HhMmTCjx/BaLhXbt2vHaa6/x+OOP88gjj1zxpbBgPNQXGxvL0KFDqVLFeFCvbdu2TJgwgezs7MumnTNnDv369SMsLIwvvvhCEpQQZczhcLB21QpiNmzEiYUQSyaD2kVyU/97sfr4cW/yQfx9vWlUu+LUMxXH3TuoZ4GPgee01mnXskKtddVrmd9dR1//Q5Hjqg8aQ1A749ng1B3LOL+k4PPDv2k8cX7+57iZz5J95miR40uTv78/kydPZvTo0fTo0YNOna7uOYXo6GisViu//PJLoV3CFxQWFkbHjh15+OGHGT58eH4x38iRIy+bLikpiZUrV7JkyRICAwOZPHkye/bsuayfKyFE6blw4QLfffcdcXFxgIWb/HKISW5Oz5sHYvXxA+DOPk09G2Qpc7c/qHrAf641OYmSadOmDWPGjOHvf/87qampV7WMvP6XLl68mD9s/Pjx+Z0G5v2bMmVK/viZM2fy2GOPsXv3bp566ik6d+7M2LFjOXPmTP40CxYsIDo6moiICAICAhg+fHiR9VRCiKuXezGZNbPeZtrUD4mLiyMwMJDR996Dre1o4rOD2HM40dMhlhl376CWAX2AQ2UYS6ly984mqF3//LupK6n7yJvXEhLgfpfvecaOHcv69euZNGnSZfU/7rLb7aSmphIREZE/7K233iqyDiovxtGjRzN69Giys7PZvn077733Hk8//TRz5szB6XQyd+5cEhIS6NKlC2DUmWVlZTFhwgTCwsJKHKcQ4nJOh53TGxexZM0G4uxGwVNE3cbcf+8dVKlShYh6ObRrFk5kvRAPR1p23E1Qu4B3lFLDgYPAZZURWuuSV5LcoNzp8t2Vl5cXb775JiNGjMDf37/E69uyZQtOp5OmTd279Z8zZw7ffPMNCxYsAIxkFR0djc1m49FHHwVg06ZNJCcns3TpUqzW327Cx4wZwzfffJPfg68Q4upknjzA9gWziLngQxZVsVmcxGeEc/Z8bR7xNYrz/P1slTo5gftFfD2AzRgvd22N+YyU+a/wds+iUO50+V5Q/fr1ef7555k7d67b63E4HGzZsoUXX3yRMWPGEBAQ4NZ8PXr04MSJE7zxxhskJibidDo5efIks2bNyu9ufs6cOQwcOJDw8HBq1KiR/++2227jm2++kSbnQlwl+6VU4ha8z/xZ01hxwZ8svKlfM5THx/2ZGje15eFhLbBWvNbiV82tOyitda+yDuRG4U6X74W58847Wbt2LZs2bSpymoMHD9K2bVsAvL29qVOnDo8++iijRo26bLq//e1veHn9vuHl0qVLqVWrFl999RUffPABQ4cOJSMjg5CQEAYOHMif//xnEhMTWbFiBZ999tnv5h86dChvvPEGP/30E0OHDnVzjwgh8hw/eYoFexJId4ZiAXr16kXXbt2wWCz849HOng7vunO7y3elVDjwJNAC485rP/Cx1vposTOWAunyXQhRWWXE7sNasyFr1q3PvwB1WKrwa1p9xj/Yg063RFxhCRXbNXf5rpTqCCwHTgIbMR7UHQo8pZTqqbXeVqoRCyFEJZebco7EFbM5sX8n623NSc3MwWKx0K1bN2o1vAWr1QvVINTTYXqUu40k3ga+Bp5wfcGrUmoK8CYgRYBCCOEGR04WKZt+IHHDAnZnh7DX2QSnPQebXyAPjr6bOnXqeDrEcsPdBNUBeLSQt49/AGwv3ZCEEKLycTqdXDq4hcTln3EuOZUN9gZcwHhbS0JOTTp16CrJqQB3E9RpjFcU6QLDGwPy8K4QQlxBZuxeTn87mX3OmuxyROLEQrVq1Rg5ciRBIeGEBPl5OsRyx90E9QXwkVLqL0BeM7Jo4F1znBBCiAKc9lwsXsZpNs0/nJ+8W3M+yyiIataiNSOHD3b7ZdA3IncT1OtAbWAuRgs+C5CDUcQ3sWxCE0KIisnpsJO2axUX1s0l7K6J7DwSx5o1a7DbnVhtVWjYLJrbhnXB5u3uo6g3Jnefg8oGHlNKjQcURnfth7XWGWUZnBBCVDQZJ34lcdmnZJ89RorTl68+mp3/6p22bdvSv39//PykOM8dxXX5PhhYrrXOMT8XVE8pBZS4PyghhKh0clISSFr5Ben7N+JwwgGfhuzICMaJEy9bFUbddTtNmjTxdJgVSnF3UIuAWkCC+bkoJe0PSgghKpWLv27g3MIpOHOzuWAJYGuV5pxNywSc1G6gGH33iPz+1YT7ikxQWmtrYZ9F+fTBBx+wf9iaHkwAACAASURBVP9+pk6dWux0eU9tb9261a0ODIUQV+YbcRO5dgcrshUJVj/IySQoKIhhw4bJXdM1cLvLdyGEEIbMUwdJ272a6gMfx2KxcD7TyfLgbpw7nwg4adO2LQMHDCi0Cx3hvuLqoM5hFN9dkda6ZqlFVMnFxcUxcuRInn76aaZPn05OTg5PPfUUVquV6dOnk52dzRNPPMFDDz3Exo0befvttzl27Bh16tRh3LhxDBw4MH85EydOZPfu3TRu3JjGjRtftp65c+cyc+ZMkpKSaNWqFS+//DL16tXzxCYLUWnkpiaStPq/XNy7DoDlsb7UjKzHzxs34nA4CA6uxogRw2nUqJGHI60ciruDehY3E1R589VXX3Ho0PXpWzEyMpJ77723RPOkpaWxd+9eVq9ezYoVKxg/fjwjRoxg5cqVxMTE8NRTT9GyZUvGjBnDG2+8Qf/+/dm6dStjx46lRo0atG/fnqeffprmzZvz8ccfo7XmkUceoUMHo+eTZcuW8f777zNjxgwiIyOZNWsWjz32GIsWFVeVKIQoiiM7k+RNP5Dy8/c4c7PBy8aK7OYciz+N39lYADp27EifPn3kuaZSVFwd1GfXMY4bztixY/M7A7Tb7TzwwAP4+PjQq1cv7HY7n376KZ06dWLwYKMBZXR0NMOGDWPBggXUrFmTvXv38sknn+Dj40PLli0ZMWIEp06dAoy7pwceeIAWLVoA8Pjjj/PFF1+wefNmGjRo4LFtFqIiurh/I4nLZ2FPSwLAJ7ITu3xu4vSuvfh5ZRMWFsbw4cOpX7++hyOtfIor4nO7dzytdcn7Ii9DJb2j8YRq1aoB5PfLFBgYCJDfQ21mZubv3stVt25dNm/ezLlz5/D19SUkJOSycXkJKj4+nqlTp/LRRx/lj8/JySE+Pl4SlBAllJucgD0tiVOOMBJu6sfJ+FOkpOzFarXSpUsXunfvjre3VOeXheL2avp1i+IGZLEU3y1mhw4d2Lbt8l5MTp48SfXq1QkPDycrK4vExETCwsIAOHv2bP50NWvW5IEHHriso8IjR45Qu3ZtEhMTS3ErhKh8cpITyDkfh3+TdgAERw3hwDkH326OI+zQrwBEREQwfPhwatWq5clQK73iivgevp6BiMt17dqV6dOns3jxYgYMGMCWLVtYuHAhU6ZMoU6dOnTs2JE33niDSZMmERsby3fffUe7dsYBNXLkSKZNm0ZUVBSNGzdm0aJFPPfccyxatEiu9IQogiPrEskbvyNl8yKcXjZO93yRWztEsufX/cToI4T5XMLb25uePXsSHR2dX9ohyk5xRXyTgUla63Tzc1GcWuv/K/3Qbmze3t5MnTqVt99+m4kTJxIeHs6kSZPo2rUrAO+++y4TJ07k1ltvpXbt2vTt25ekJKOMfOTIkaSmpjJ27FgSEhKoX78+H374IQ0bNiQuLs6TmyVEueN02EnbuZIL677Bnp4CwLZLdVm+YBuH9m0iNvYYAI0aNWLo0KGEht7YnQheT0V2+a6UWg3cprVONj8Xxam17l0m0f0WS0Oky3chRCm7dHQXSSs/IzvhBAC+dRUhvR/krfm/QNphnA47fn5+9O/fnzZt2lyxaF6U3FV1+a617lXYZyGEqAycTgdJq/9LdsIJkgkkov+DOGo35YtFi3CmnAGgRYsWDBw4kICAAA9He2Nyu0JCKVUVGAW0ALKBfcAc803nQghR7tnTU3A6HHgHhmCxWKne/48s/X4FXxyvRdftp0lbEoPT6SQ4OJghQ4YQGRnp6ZBvaG4lKKVUS2ANRmLajdEn1MPAK0qpQVrrA2UWoRBCXCNnbg4p2xaTvH4elnqtqNJ/HDVD/PGr14xa0dl0uLSc1LPpWCwWoqOj6dmzpzxwWw64ewf1MfA98CetdQ6AUqoK8AkwA+hRNuEJIcTVczqdpB/4maRVX5CbnADA/v0n2XNpF0/c3pylS5dy4IBxfR0REcGwYcOIiIjwZMjChbsJqjXwQF5yAtBaZyilXgV+cXdlSqkIYBrQC8gEPtJav1iCeIUQwi2Zpw6SuGI2WXFGArLVqIet8z189nUC7dLjmDp1DdnZ2flvcOnYsaM0HS9n3E1QO4BuwMECwzsAv5ZgfT8A24FwIAJYq5Tar7X+qgTLEEKIYuWmJhL/+QvgsJPlVZU6/UcT2KYP8afP0Kv+L5xLMB5sb9asGQMHDpSuZ8qp4p6DGuvy5xZgilKqA7AJsAOtgCeAN9xZkVKqE9AY6GLeiR1TSvXE6D5eCCGuiSM7E4vNF4vFgndQGP5t+rN48ykWJzVnvK0ZiUuW5r+dJTg4mMGDB9O0aVMPRy2Kc6W3mbs6Aww0/+U5D/wReM2NdbUH9gAvK6Uewijim6q1ftvtaIUQogDXB20D+j5OaItOWCwWag16lPCgoww8eZiYpXO4dCkdq9VK586d6dGjhzSCqACKew6qtDs0CcUoJlyLcSd1M7BUKXVaiviEEFfj0tGdJK6YTc4540Hb1fMXEOGoT5dWtTl37hznD8dw6vhxAOrXr8+QIUOoWVO6r6soiivie1BrPdvdBSmlLMDDWutPi5gkC0jVWr9s/r1LKfUJcDsgCUoI4bbs83EkrphNxpEdAHgH1yS27gBmx0Dffae4dHYfmzZtwuFw4O/vT79+/WjdurW8CaKCKa6Ir61S6hlgOrBAa326sImUUjWBe4HHgRXFLO8A4K+U8nF5uFfeXCqEKJH0Q9s4++0b4HTg9PYjrPudBEUNpjZe/ClgCwf3rGfjwVQA2rVrR58+ffD39/dw1OJqFFfE9xezUcRLwHtKqV8x3h5xHrAANTCanzcFlgAPaa23FLOu5cA54G0z8SngEYyGFkII4ZYqDVrg9K/GxqTqbMztxLvthpKcmsqSJUs4fPgwYDzTNGTIkN/1qSYqlmLvYLTW24DhSqlGwCCMZuVNAAdGo4n3gcVa6xNXWpHWOlMp1QP4ADiN0UhistZ6/rVtghCiMrt0eAfJm36g1p1/x+pbBatPFRr86X2mfbSVVrUDWLNmNdu2bsZuN17s2rt3b9q3by/PNFUCbhWxaa2PAVOvdWVa66PAkGtdjhCi8stOPEXi8llkHDHeBTBnynSGj32SqlVsePn68VDvMJYvX8bmVKM4r3Xr1vTr14+qVat6MmxRiqQOSAhRrjiyLnFh/bekbPkfOOxYfP3ZaGnPt/H1sW44Sp82YSxZsoSjR48CUKtWLQYPHky9evU8HLkobZKghBDlRrrezPklH2FPTwYsBLbpS2jPe7FfcOKnT1M15zjTps3F4XDg5+dHnz59aNeunRTnVVKSoIQQ5YbF6o09PZmTzprENRrOfUMG4XQ6uXhoF8d+WUF6ejogrfNuFJKghBAeY7+USsaxXQS06AaAf2R7rAPG886cBJomVqXbyTiWL/uJuLg4AOrVq8egQYPkjeM3iJJ0WNgW43VFNoxm5vm01tfcgEIIceNwOuyk7ljOhbVf48hKZ9c5G116dgagYYdoXgmI47jezqxPZwIQEBBA3759adWqlTxsewNxt8PCicCrQBKQVmC0k1Jo4SeEuDFkxmnOL/2Y7LPHADjiqMPXiw9Ro7HipjpBbN68mbVr15KdnY3VaqVTp0706NEDX19fD0curjd376AeBV7UWr9elsEIISov+6VUklZ9QdquVQB4B9cgrO/DrDtUlfCTyZw/c4JlP8aQmJgIQNOmTenfvz9hYWGeDFt4kLsJKgyYW5aBCCEqt7zk5MCKo8VAGg4ZjdXmS//gs3in7GT5kiMAVK9enQEDBtCkSRMPRyw8zd0ENQ+4D3i57EIRQlQ2TnsuFi/jNBPSfRSxsaeZdrwpIbENmZSdy9rlK9m2bRtOpxNfX1969OhBx44d8fLy8mzgolxwN0FlAM8ppe4EDgHZriO11neVdmBCiIrLkZVB0tqvyYrThNzzCv5VfPEOCuOWx16mxbydtKiZzpQpU8jMzMRisdChQwd69eolzcbFZdxNUP5IlxhCiCtwOp2k600kLvsUe1oSTiz85/1veXb8vXhZLZw4fhSfpE1sOmTUMzVu3JgBAwZIH02iUO6+i+/hsg5ECFGx5SQncH7px/l9NNkimjD9dBsOJAWwbfchDu7ZzLFjRsu90NBQ+vfvT9OmTaXZuChSSZ6DaglMAFoAVoz+nd7XWm8so9iEEBVE6valJK78HGdOFhZff8J63Udg237coeM5uHcrP/34DQB+fn706NGDqKgoqWcSV+Tuc1CDgB8x+nSah/Gg7q3AWqXUEK31srILUQhR3jmdTpw5WezIaoCt/WgGtbyFdTHr2bBhAzk5OVitVqKioujRowdVqlTxdLiignD3Dup14DWt9STXgUqpFzAe4JUEJcQNxJGdSfbZY/jVawZAULv+xGYE8uXCJAYlJjBlyhTS0oxn+pVS9O3bl+rVq3syZFEBuZugmgGFtdT7Bni+9MIRQpR3Gcd2c27xNHLTUznT/Tlu7XwLFqsXAXVq07fBHk4fTgCMXm379+9Pw4YNPRuwqLDcTVAngLbA4QLD2wMJpRqREKJcsmemk7RiNmm7VgJwyh7CVz/uJDgkgJ3bNuR3tx4UFESfPn1o2bKlNIAQ18TdBPUhMF0pVRfYZA6LBiYCk8siMCFE+ZGuN3N+6cfYL14AL29Cut3FPF2deilHmPfNbAB8fX3p0qULnTt3xmazeThiURm428z8faVUIPAckFeQHA/8Q2s9payCE0J4XtKar0neMA8Aa3gkoYMeZ+uBY+ScXk9ubi5Wq5UOHTrQvXt36W5dlCq3m5mbL4p9XSlVE8jQWhd8q7kQohKq2iyahJ8X8UPaLeRcaozPl/PIyMgAoHnz5vTp04fQ0FAPRykqoyITlFJqLPCp1jrT/FxwfP5n6Q9KiMrDfimVi/vWE9RhEBaLBZ+aDUjq/hRZa9bhvHCADKBBgwb07duXunXrejpcUYkVdwf1LDAHyDQ/F0X6gxKikkg/sJlzS2bguJTC91sSiO53K6tWreLs2bMA1KxZkz59+hAZGSkNIESZKzJBaa0bFfa5IKWU/EqFqODsGWkkLvuUi3vXAbArty4Hzp7l+NdfA0bLvJ49e9K6dWusVqsnQxU3EHffJHEU6KC1TiowvDawE5A3PQpRQV06vJ2ERdNwpF8gxRrAvpB2HDmbjJ9XJn5+fnTr1o2oqChpmSeuu+LqoIYDXc0/GwKvKKUuFZhMehQTogK7uDeGhB/e46LTxi/ezYjN9sF5NhmbzUanTp3o0qULfn5+ng5T3KCKu4PaBfwF4717YDyo69oPlBO4CDxYNqEJIcqao05zfrY24XCWP9jBarXQvn17unfvTmBgoKfDEze44uqgYoHeAEqpWcDTWuvU6xWYEKL0OXKySN64gIuNe3D40H42bdpETo4/WOCWW1rSq1dPaTIuyg23+4NSSnkrpeoAee/ItwC+QHut9ddlFaAQonRknjpI3Pfvsy8pl91rDuAwC0eUUvTq1Yvw8HAPRyjE5dxtJDEUmAUUdml1AXArQSml/gjMALJcBo/TWs92Z34hRMk57TmcWzuHrRvWs9dRnUyMxg41a9Vl6OD+1KtXz8MRClE4d98k8S+MLjXeAVYCw4FawLvAMyVYXzvgba3130sSpBDi6lyKP8K6b2awJ83GJSIAqFkznK7de9GyhbrC3EJ4lrsJKhK4Q2utlVI7gKpa67lKqRzgBYxuN9zRHvjPVcQphCgBh8PBjo3rWLNyOekY78erGRpMnwGD5SFbUWG4m6AyAIf5+SDQGlgCbAeaurMApZQX0Aq4Xyn1DnAJ+AR4Q2vtLEnQQojCORwO9u3bx5o1a0hKSgJ8sDmdBNRvx5iHhspDtqJCcTdBrQNeVEr9GdgGPKaUehvoCbjbsq+GOe9s4HaMThB/MOeXVyUJcQ2cTif79u5h1dLFXLhkVPGGhobSvVs3ajeIpEaIvGVcVDzuJqhngIXAH4HpGM9HpQI+GH1CXZHW+gzQw2XQTqXUB8AfkAQlxFVxOp3s37+fNStXcC7pAgB+5HJL534M6tdV7phEheZuM/PDQDOlVBWtdYZSqiPQCzivtd7szjKUUi2Au7TW/3AZ7IPxMlohRAk4nU4OHDjA2jVrOJtgdGpdlWxutqVy3K8Drdq0leQkKrziXnXkf4Xhq/P+1loXfAVSYZKBZ5RSccBMjDdT/Bl4skQRC3EDy7tjWrduXf4bxv3JpqU1gTatWxPS++/Y/AOwWqURhKj4iruDuojxOiN3eF1pAq31KfP9fpMxmqefB17VWs9zcx1C3LDyEtPatWtJMO+YqlhyaWk5S7gli6Z3P01AZDsPRylE6SouQfUq7ZVprVcBHUp7uUJUVg6Hg19//ZWYmJj8xBQUFETXrl1p6Exie8wmbIP/SECkPGwrKp/i3sW39noGIoT4jcPhYO/evcTExHD+/HkA/LwsBFh9eWTsOPx8fQAY2HGAJ8MUoky5+6qjrRRT3Ke17lhqEQlxA7Pb7ezevZv169ebzzFBUNUq3OKMp2FWHNl2b3b9Gkento09HKkQZc/dZuaLCpmvMTAEeLk0AxLiRpSbm8vOnTtZv349KSkpAAQFBtI2MIO6ZzdjtYA9tAE57UdLchI3DHebmU8qbLj58tfhwHulGZQQN4rs7Gx27NjBxo0bSUtLA6B6WBjhNgs3J6zDPyMXi68foT3vJaj9QCzWK7ZHEqLScPcOqiirgA9KIxAhbiSZmZls3bqVTZs2cemS8ZRGeHg43bp14+abFUc+fh5vay5nA28m6qG/4R0U5uGIhbj+3K2DKuyZqGCMF8WeLtWIhKjE0tPT2bRpE1u3biUry3glUZ06dYhs2gKLNYAWLVoA0PAPT3Hm+DGio7p7MlwhPMrdO6iinonKBB4uvXCEqJxSUlL4+eef2b59O7m5uQA0bNiQrl274nPmEEmrphDnqM6ZZv+kVlhVfGrUo34NaToubmzuJqiCz0Q5gWxgn9Y6rXRDEqLyOH/+PBs2bGD37t04HEaHAE2bNqVr166E+zo5/9PHZJ74lUAr1Kpqxd8r18MRC1F+uNtIYi2AUioAUIDdGKwzyjA2ISqsU6dOsWHDBvbv3w+AxWLhlltuoWvXrqRezGXHnFm0zN4FTgdW/yBCez9Ao1Y9pZ8mIVy4Wwfli/HG8fswXvAKkKGU+hh4RmttL6P4hKhQ0tLSWLJkSX5i8vLyok2bNtx6662EhobiyM3m3KwxtLSn4sRCcPuBhPS4B68qAR6OXIjyx90ivvcx+n66G9gCWIFOwFtAFvB/ZRGcEBWF0+nkl19+YdmyZWRlZWGz2YiKiqJz5874Vw3gUmYOAFZvH0Lb9ODsgV00vn0swfUjPRy5EOWXuwnqLmCY1nq9y7DvlFJJwFwkQYkbWFJSEgsXLuT48eMAREZGMmTIEIKDgzl1Ip41U9/kfJUGPPTUH7FYLET0u4+IAQ9KcZ4QV1CSLt9zChmeUoqxCFGh2O12Nm3axJo1a8jNzcXf359BgwYZTcUddlK2LCJ77Rxa5F7iQuoJEpPvpnpIABYvm6dDF6JCcDdBPQd8opQaA2zSWjuUUrdg1Eu97vqclJt9QwlRoZ06dYqFCxfm98nUqlUrBgwYgK9fFbavXEX44R/JSYwDwBFxC5EDHiYoROqZhCgJdxPUe0AAEAPYlVIOwAZYgI7AOy7TyrtYRKWVlZXFqlWr2LJlCwDVqlVjyJAhNGnSBHt6Cuvf+gf1co6SA3iH1CKs38P4N2kvxXlCXAV3E9TIMo1CiApAa83ixYtJTU3FYrEQHR1Nz5498fY2DiOrnz/h3qlkZdvIaTGYlsPuweItxXlCXK2SPgdVBYjEaMV3RB7SFTeClJQUli5dyoEDBwCoXbs2w4YNI9vpy7xpn1C9TXf6dW+BxctG/bvHYw0IxS9Y3p0nxLVy9zkoL+CfwNP8VrSXrZT6DHhSay2Pv4tKx+FwsHnzZlavXk1OTg4+Pj707t2bDh06kHlkB3GLP6VTegI71p/B2e1lLBYL/nWk2bgQpcXdIr7XgdHAA8B6jATVBeM5qJfMf0JUGnFxcSxatCi/EUTz5s3p0asPF06e4OzXr5AZuxcbkOkXRvc+/aWOSYgy4G6CegB4VGu92GXYXKVUGvARkqBEJZGRkcGKFSvYsWMHYDSCGDx4MNX8/YmZNplWlkNkWsDqF0BItzsJaj9Amo0LUUbcTVABwOFChh8FqpdeOEJ4htPpZOfOnaxYsYJLly5htVqJjo6mR48e2Gw2Mk7up431EHaseLXsR91+9+BVJdDTYQtRqbmboLYC4zDqoFw9CWwv1YiEuM7OnDnD4sWLOXnyJGB0g1G/aQf2/ryN9h3thNhsVKnXjKo97iekWUd8wmp7OGIhbgzuJqj/A9YopXoCm8xhnYGGwMDSD0uIspeZmcnq1avZunUrTqeTgIAA+vXrR2OfSxz+/l2G2C+wZklNbrt7EADhXeVpCyGuJ3ebmW9TSrUDHgeaY7z6aCHwodZaetQVFUrB4jyLxcLNLdrQObIutp1zSTi5nyAgyy+MPu3lbkkIT3H3Dgqt9UFgvFIqDLBrrZPLLiwhykZ8fDxLliwhLs54DVH9+vWpXr0B2dsWYdex2AGrfxAhXe8kqF1/LF5uHyJCiFLm9tGnlHoReAIIN/8+CbyntX6vjGITotSkp6ezatWq/NZ5ecV5LVu25OTCj8j1icVu8SY0ehgh0bdh9avq4YiFEO4+qPs6RvHea1zeH9QLSimb1vrNsgtRiKvncDjYunUra9asITMzE6vVSkBYI7y9q9GqVSsA6vS9hwSLnRo97sI7SBqlClFeuHsH9SjwYIHnoDYopQ4DHwKSoES5c/ToUZYuXcq5c+cAaNy4MR3rhZIWMxe708KJ+C7Urx2Cl38QEcPGejhaIURB7iYob+BkIcMPAyV6GEQpVQ3YDbyktf6sJPMK4Y4LFy6wfPny/G7X/fwDGRTditCDK8jecIhQKzir1SHCP9vDkQohiuNugnoTmKqUuldrfRJAKRUK/BvjdUclMR2oU8J5hLiirKwsYmJi2LRpE3a7HZvNRo61Ojdd3E/A2g1kA15VqxHS8x4CW/XCYpWeYYQoz9xNUHcDzYCjZuOIXKA+4AN0Vkr9OW9CrXXNohailHoQCAL2XHXEQhTgcDjYuXMnq1atIj09HYDWrVvTu1dPTn3yLL72JJxeNkKiR1ItegRWnyoejlgI4Y6SdFh4TZRSjYB/ALcCS691eUIAHDt2jGXLlnHmzBljgC2Y9lG3MrRfRwCcfe8jM3YPYT3vxTtIusAQoiJx90Hd2deyErO7jv8C47XWZ5RS17I4IUhMTGT58uVorQEICgqifmgodY6vJnZ7Os6+UVgsFoJb9yS4dU/PBiuEuCrX6ynEFwGttf7uOq1PVFKXLl1i7dq1bNu2DYfDgbe3jVvbNOem89vJjVsP3hARkghOB1ikjkmIiux6JahRQG2l1O3m34EYjS46aq2lfa+4otzcXLZs2UJMTAyZmZkAZDir0dZ+mgY7vyAXsFYJJKT73QS17ScNIISoBK5LgtJa3+z6t1JqJ8ZbKD67HusXFZfT6WTv3r2sWrWK5GTj7VqNGjWiV+f2XPr2FWzkgtWb4I6DqdblDrzkDRBCVBryojFRbsXGxrJs2TLi4+MBsNgCGDl8MC1b3IzFYuFkgxb4VPEntPdobCG1PBytEKK0FZmglFKfursQrfUfS7JSrXWbkkwvbiwJCQmsXLmSgwcPAsZ783BUpd2l7ehfW9PqlmYA1B31HBZv6c1WiMqquDso1zdE+ADDgAMYnRdmA+2A1sBXZRaduKGkpKSwZs0adu3ahdPpxGbzoXPbW4hM3k3O0Y3gDZGWXUBfAElOQlRyRSYorfWdeZ+VUh9h1Bn9zXUapdRrwM0F5xWiJDIyMli/fj1btmwhNzcXi8VKhiWMTgEpNPzlc3KcDiw+flS79XaCOw71dLhCiOvE3TqoezDumAqaDewsvXDEjSQ7O5vNmzezYcMGsrKyAGjRogWqRjDWmJlUScsBi4XAtv0I6T4K74BqHo5YCHE9uZugzgC9gUMFhg8FYks1IlHp2e12duzYwbp167h48SIAwWER3HnbEOrUqUNuaiKxP3+KX/02VO/7ID4163s4YiGEJ7iboF4BZiqlegM7AAtGf1CDgTuLm1GIPA6Hg71797JmzRouXLgAQK1aEZw4ZadWwiHSsn0B8A4Ko/6Yd6VlnhA3OHdfdfSFUioOGAPcbw7eDXTXWm8uq+BE5eB0Ojlw4ACrV6/O75spLCyM7lFtqXFiPRnntwBgi98GjQYanyU5CXHDc/s5KK31amB1GcYiKhmn08nRo0dZtWpV/rNMVfwDSM6tTu/qKfit+g8ZDjsWmy/BnUdQLaqHhyMWQpQnxT0HNdndhWitJ5ROOKKyOH78OGvWrCE21qiirFq1Kt26dSPt0AEiji3B70gOWKwEtulLSPe78Q4M9XDEQojyprg7qCg3l+EsjUBE5XDy5ElWr17NsWPHAPD19aNZy/b/3969x0dVngkc/80kkzvhjgRQSLg8EJAA4RaDF7SotXitl613W23tut1Pbe3uqrVuW2/Vra1127W1tlu1rcXa6lZ70Wq5iUASkoAIj0BJAwgCIULIhdxm/3hPwhhhDIHkzCTP9/PJh+ScOWeehzMzz7znvOd9+eSCM0hKSqKKKvb/o4nknOkMPed66wBhjDmqaPdBzW/7XUSuA/6kqnt7JCoTd3bs2MHixYvZvHkzAMnJyUzInUbRqq1sL99I8PyzARg081zShp9C6ugpfoZrjIkDnb0G9QNgLmAFynzIjh07WLJkCZs2uTsQkpKSmDNnDvk5WdS+uYhpaWtpIkTtvivpP3QYgYREK07GmE7pbIFaBVwKPNSNsZg48t5777F48eL2whQKhRgyUthZFWBS1Dq6TAAAE+VJREFUdSlVv/whAIHkNE4q/DT9BtpNtsaYY9PZAtUKPCAiXwe2AvWRK1V19okOzMSmHTt2sHTp0vaBXEOhELNnz2b2zJn89YnvM7/5beo3hgkkhMic9UkGnHYZCan9PmavxhjzUcfSgrL7nfqwbdu2sWTJErZs2QK4wjRizCQuOG8+wwYPIBwOc+qgeoJ7IOPU+Qw68yoS+w/1OWpjTDzr7I2632z7XUQygaCqftBtUZmYUVFRwdKlS9t75SUlJTFr1ize3Z3KB+sXszx1EJddeiaBQIDRl7jJkZOGjfYzZGNML9HpG3VF5IvAXcAI7+/dwGOqateleplwOMyWLVtYtmwZlZWVgOuVN3PWbApm5dP87gqyy39JIO0AtXsaAXeDrRUmY8yJ1KkCJSJ3APcA9wPLcWPxFQL/ISL1qvpY94VoekrbkETLli1j586dAKSkpDBx8nRWbw1yqGIre9c/R0tNFQEgNHwsY+df6m/Qxpheq7MtqNuAW1X11xHL3hSRfwD3AVag4ljbIK7Lly9vHysvPT2dgoICZs6cyc715YwqfZyBB+poAUJDT2HQGVeRJnMIBAL+Bm+M6bU6W6CG4mbS7agEGHXiwjE9qampibKyMlasWMEHH7hLipmZmcjkGRwKDaewUAAYmTOGloQGEgaNYvCZV5E+cS6BQNDP0I0xfUBnC9TbuGk1Huyw/CrcNPAmjjQ0NFBcXMzKlSupra0F3OjihYWFjD55DM889gQTEnZQMfE+xmQNIDRgGKNufJCkrBwrTMaYHtPZAvUN4BURKQDe8pYVAOcDl3VHYObEq6mpYeXKlZSUlLTPYJuVlcW0GbOZPimHg6Wvsv/px7gwpQaAtKp3Icvd4pY8YpxvcRtj+qbOdjN/VUTOAb6Emw+qHtgAzFLV8m6Mz5wAe/fuZcWKFaxdu5aWlhYAxowZw7x583irdBdvv/QCg1/fQqDZFa3kkRMYWHg5qeNm+Bm2MaaPizbdxvnAMlWtBVDVpcDSngrMHL/KykreeustNm48fBZ20qRJFBYWMnLkSMLhVhp/dz/JKfuhGVKzpzLgtMtIGT3FOj8YY3wXrQX1CtAsIsXAG97PClU91CORmS5pbW1FVVmxYgXbt28HICEhgby8PKbNmMXaN4t4v+oQI0dCIBBk8NwLqd2+iRFnXU5yVo7P0RtjzGHRCtQQ3L1OBcA84HYgKCIrOVywVqlqS7dHaT5WY2Mj5eXlrFy5kn379gHuHqZZs2Yxc8Y0qFjD9kXfYlLd+7y5tYDpp36VQCDAsNPtPiZjTGyKNh9UNfCy94OIJAAzcAWrAPgsMERElqnqp3ogVnMENTU1rF69mpKSEurr3Ri+AwYMoKCggNFZWRwo/Sv7fv4MrXUHSAHqgxnMmpZjp/CMMTGv00MdqWqLiGwHdgK7gUpgGGDnhXywa9cuVq5cybp162htbQVg5MiRFBQUMGnSJCpeW8SBVx8mIRCmFUgankP/2QvJyD2NQELI3+CNMaYTohYoEckAzgI+ASwAJgLbgL8BTwFXq+p73Ryj8bS2tvLuu++yatUqKioqAAgEAuTm5jJeptDSksjkyeMBGJo9jveLoTJlAlMWXsXgCXnWajLGxJVovfiWAbOBamAxbjijN1R1c1efTEQWAg8A2bhW2MOq+uOu7q+vOHToEKWlpaxevZrq6mrAjSo+ffp08nPHcWj9cqpeuo/K1iymnvowocQgGeNnELz1h4wbfJLP0RtjTNdEa0EVAtuBn+E6RLylqk1dfSIRyQJ+C1yqqn8SkRm48fyKVHVNV/fbm1VVVbF69WrKyspobGwEIDOzP80poxgSbGFaTTk1zz4F4Vb6BWFUSgM1tfUM6p9OIBAk3YqTMSaORStQObhTe+cAXwTSRWQ58DquYK1R1XBnn0hVd4rIUFWtEZEgMBhoBmq6HH0v1DbVxapVq9i8+XBjdfTo0cydO5fBHGLLou8xLKGGur1AMJH03NPIzD+f7FET7TSeMabXiNaLrwL4qfeDiOQBZ+MK1j1Ak4gsBl5X1R915sm84pQG7Pee+zuquul4EugtGhoaKC8vp6ioiKqqKsDdv7S3cQCp/YZz442XA9D0wW6GJhyE9IEMyD+XzOkLSMwY6GfoxhjTLY6lF185UC4ijwH5wE24YY8uATpVoDwNQDowFfijiGxS1aeOYfteZffu3RQVFVFeXk5TkzuDmpmZyczpeWQn1vCPv71MSnMZhxovITkpkdCAYYy84X6SR4wjEEzwOXpjjOk+H1ugRGQUMAeY6/07A3dqbgVuLqjFx/KEqtoKNALFIvIT4GJcj8A+o6WlBVWlqKiovTcewMGWDFJDaXxmbAv1q39KY9MhsoIQTMkkWFcFSe6aUsoo8SlyY4zpOdF68b2AK0hZuOtEbwJ/AO4ASo51BAkRORN4VFXzIxYnAx8ca9Dx6sCBA6xZs4aSkhIOHjwIQCgUIi8vj7zx2Wx//nsMYx9169zjU0ZPIXPGuaRPmE0g0e5dMsb0LdFaUMnA93EtpDVey+d4lAEjReQruC7rc4DPAb16rJ1wOMzWrVspLi5m48aNhMOuX0ljOIXG1n58/cvX079/BuGWJprTWoBM+k09i37TFpA0eIS/wRtjjI+idZJYeCKfSFX3i8gFwA+Ae3E3/N6sqktO5PPEitraWsrKylizZk372HjBYBAZl0NuRhNN65aSQS37919G//4ZBBJCjLjmXkKDR9hID8YYwzF0kjgRvPud5vXkc/akcDhMZWUlxcXFbNiwoX3upRaSSGwOcEV2HUlbXwRcKyqh32CGJdQAwwFIGjbap8iNMSb29GiB6q3q6uraW0ttXcQBxo8fz/SpUwi/9BApiYdgJwQSQqRNnEO/qWeTOmaK9cQzxpijsALVReFwmIqKCkpKSti4cWN7aylMIknNrVx83Y1MnnAyAJXF2QRbm8nMm0967jwSUjP8DN0YY+KCFahjVFNTQ1lZGaWlpe3j4gFkD+3PuPBuhlWvJZgI9dXvA65Ajbr6HoJJKT5FbIwx8ckKVCe0tLSwadMmSktL2bRpU3tPvCBBTgofZG5oGxnVbqLhQFIK6RPnMGrs8PbtrTgZY8yxswIVxZ49eygtLWXt2rXU1tYCrifepEmTmJY3leYX7iO5tY5wIEja2HwyppxB2oRZBEPJPkdujDHxzwpUBw0NDaxfv57S0lJ27NjRvjwlECaHvQyefytnz5sCQPX8KwgmhsjILSQhLdOvkI0xpleyAoWbCHDr1q2Ul5ezYcMGmpubAQgFA2QnHCCndRdDqCcQgFDS3vbtBs69yK+QjTGm1+vTBaqqqoqSkjWUlpXTUF/bvnxIoB4J7OHkwH5C4TChwVmk536KjMmnkzRklI8RG2NM39HnClRdXR3r16+nvLz8Q6fwMvplMjN/Bnl5eez9zQME6oP0P/Ui+k2eR9JJ2TbPkjHG9LA+U6C2bd/BM795hcaDuwh4IzkkBsKMppqxwWoGnnk7E/OnA9Dv2rsJpmVaUTLGGB/1mQL12l/+TNPBnQQIMyJwkJxANScH9pOUlkH6pEIGZB+eHj0hvb+PkRpjjIE+VKDOPfcTrH3mYU5p3Ut6UiLpMpuMyaeTmj2VQEKf+W8wxpi40Wc+mUedPJrM8y4kmNqPtHH5dvOsMcbEuD5ToAAy88/3OwRjjDGdFPQ7AGOMMeZIrEAZY4yJSVagjDHGxCQrUMYYY2KSFShjjDExyQqUMcaYmBQv3cwTAHbt2uV3HMYYY06giM/1hI7r4qVAZQFcc801fsdhjDGme2QBWyIXxEuBKgJOB3YCLT7HYowx5sRJwBWnoo4rAuFwuOfDMcYYYz6GdZIwxhgTk6xAGWOMiUlWoIwxxsQkK1DGGGNikhUoY4wxMckKlDHGmJhkBcoYY0xMsgJljDEmJsXLSBJHJSKzgZdVdZj391DgMeA84BDwM+BeVW3x1j8NXAk0R+xmqqr+XUROAZ4C5gK7gS+p6h97LBm6lM9p3vpJwHvAXar6W2+dr/kcSy4i8gRwbYddpAN3q+oDfucCXTo2NwFfB4YAG4Gvqupyb1085vMl4HZgMLACuE1V/+5nPiKyAHgIGO897yOq+mMRSQL+G7gcN/rMo6r6YMR2VwIP4EYwWALcqKq7/czlePKJ2P524ExVvSRime+vta6K2xaUiARE5GbgVSApYtUvgGG4D+wpwGzgWxHrZwCXqGpGxM/fvXXPAWtxb8BbgOdEJKebUwG6lo+IZAGv4F64/YDbgGe9FyT4lE9XclHVWyOPCfA14B0vN99y6Wo+IjIVeBS4GBgAPAu8KCJt77l4y+dK4H7gJi/m/wNeE5EUb9sez0dETgZeAO7D/R9/BnhQRM4DvgkIMBaYBdwgItd72+XiPrBv9OLd5MXfxq/3TZfy8bbNEJFHgO8eYde+vdaOV9wWKNwB+yLuYAIgImnA+cDtqrpbVfcB9wC3eG/KVGAiUNZxZyIyAZgJfENVG1X1Ddyb8HPdnwrQhXyA64GlqvoLVQ2r6mu4D5Vqn/PpSi5EPHYs8DBwtaoeiNNjM57D768A7ltvvbdtPObzaeBJVV2iqs2q+j9AI3COj/mMAX6lqr9X1VZVLQIWA4XADcD9qlqtqhXAfwFf8La7FviDqi5X1QbgTqBQRMb7fGy6mg+4L6rZwI8jdxgDr7XjEs8F6glVzQeKI5a15VMbsawFGIr7RjINd2rvSRHZIyJrRGSh97hcoFJVI7fdCJzaLdF/VFfyyQcqROQ5EdkrIqXAcFWtwd98upJLpO/iPgzLvb/j8dj8BXgbWIf7IP8OcJWqthKf+QQ7rGtbPwGf8lHVZap6a9vfIjIIN6h0Ke7U3TtHiSc3cp2q1gHbvPW+HZvjyAfgM6p6OfB+h936/Vo7LnFboFT1vSMsO4g7bfGwiAwSkcHAN7zVqbjTYMtw3yBH4E5ZLBKRPCADqOuwyzogrXsy+EjsXclnEK7J/izuBfwg8HuvBeJbPl3MBQARmQIswH2gt4nHY5MCKO68fzrw77hTfMOJz3xeAD4vIjNFJCQit+DORqTicz4AItIf1zJYBZRExHCkeKLF63sucMz5HPGYemIin66K2wIVxXW4b6wbcBc/X/SWf6Cqr6rqAlUtVtUmVX0BeAO4CPftMLXDvtKAgz0U99EcNR/chew/q+rLXj6LgDXAJ4nNfKLl0uazwIuqGvlNMBZzgej5/CewS1VXqeohVf0RUAFcQRzmo6rP4b4APYdrbUwBXgOq8Tkf7zTWSlzr4XKgxlsVGVNkPNHi9f3YdCGfaHzP53j0xgKVBXxBVU9S1SnADmCDqtaJyIUickOHxycBDbjm8ynedao2E/lws9oPR80H11Qf2OHxbT0zYzGfaLm0uZgPX7CG2MwFoudzMpDc4fHNQBNxmI/XIecPqjpOVYcDX8EVqRJ8zEdEzsC1Ml4ELlfVBlWtBnbhOhUcKZ53Itd5199O8Zb7emy6mE80sfpa65S472Z+BI8Cb4vIHbgX3Xc43BMsAXhMRDbg3lhXAacBN6tqpYiUA/eLyJ3e8ouBgp5OoINo+TwN/IuIXAv8CvftfCpwpapui8F8ouXS1s05B3gzciNV1RjMBaLn8zLudNki3ERs1wCTgVdi9NhA9HzOAe4VkdOBA7jTf+8BRaoa9iMf71T2y7hbER7vsPoZL961uNNcd+C60IN7rywXkbOAt3Atw1JVfdfbry/H5jjyOaoYfu90Sm8sULcATwL7cKdaHvdOr6CqL4rI3cCvgeG4FshCVa30tv008BPcvQJ7gc+p6ts9HH9H0fIpF5ELcB8kPwIqgctUdZu3bazlc9RcPGOAQ14Pso5iLReIfmye9K4j/Ap3H9Q7wAUxfGwg+vH5Je7CejnurMPrwEWq2jbjqR/53Ia7rvygiETeE/RDXAH9LrAed6boJ8ATAKq6TkQ+6/09EtdiuSJie7+OTZfy6YRYfK11is2oa4wxJib1xmtQxhhjegErUMYYY2KSFShjjDExyQqUMcaYmGQFyhhjTEyyAmWMMSYmWYEyppt4g/ju8Qb97LjubhE5KCJjfAjNmLhgBcqY7vNl3M3wH5pYTkSygbtxIwZU+BCXMXHBCpQx3URVd+HmGrpZROZErHocNydZx+FsjDERbCQJY7qRN9nfm7jhgWbhRs5fBExX1Xe8x9wE3IUbdmcDrmX1Z29dIvBt4GrcFDFVuKG67lDVFhF5FmjFzYI7FjfU1eIeS9CYbmQtKGO6kTdW3edxg/jehJsJ9b6I4vQp3CCtd3uPeQo3p9dsbxd34qb+vg43S++dwL8CCyOe5lrcwKHn4KZpMKZX6I2DxRoTU1T1bRF5FDcd9wbgoYjVdwEPeXN5AWwWkZm46Sz+CTcj742qutRb/3MR+TfcTKkvecveUdVnuzsPY3qaFShjesY3cbPqfltVmyKW5wL5InJPxLIQ3nw93gj854jII7jp1afiRn1PiHj8lu4M3Bi/2Ck+Y3qAqtZ7v9Z3WJUIfA2YFvEzGTdnDyJyH/A87r36PHAu0HGqhI77NKZXsBaUMf7aCIxW1c1tC7zWVAPwCPDPwJdV9WlvXSpuMsGAD7Ea06OsQBnjr4eBp0VEgTeABcC9uOtP4CYPXCgiK4D+uFOFmXx0Onljeh07xWeMj1T1eeB24N9w151uB76gqr/1HnI9rvfeOuB3wGbgf4H8Hg/WmB5m90EZY4yJSdaCMsYYE5OsQBljjIlJVqCMMcbEJCtQxhhjYpIVKGOMMTHJCpQxxpiYZAXKGGNMTLICZYwxJib9P1DdBIyhWFgqAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "\n",
    "system.alpha1 = 0.0195\n",
    "system.alpha2 = 0.014\n",
    "\n",
    "results = run_simulation(system, update_func3)\n",
    "plot_results(census, un, results, 'Proportional model, parameter changes over time')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
